<html>
<head><meta charset="utf-8"><title>meeting 2020-10-19 · project-portable-simd · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/index.html">project-portable-simd</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html">meeting 2020-10-19</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="213836022"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213836022" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213836022">(Oct 19 2020 at 19:52)</a>:</h4>
<p>Last meeting we said there'd be a meeting this week at about this time. Is that still happening at about this time? or later today in about 2 hours?</p>



<a name="213836089"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213836089" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213836089">(Oct 19 2020 at 19:53)</a>:</h4>
<p>Good question</p>



<a name="213836377"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213836377" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213836377">(Oct 19 2020 at 19:55)</a>:</h4>
<p>So I think regardless of the start time, the thing to talk about is cranelift, or as final fantasy 7 would put it, CRANELIFT</p>



<a name="213836440"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213836440" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oliver <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213836440">(Oct 19 2020 at 19:56)</a>:</h4>
<p>idk? <span aria-label="laughing" class="emoji emoji-1f606" role="img" title="laughing">:laughing:</span></p>



<a name="213836514"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213836514" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213836514">(Oct 19 2020 at 19:56)</a>:</h4>
<p>I am in Europe, so I will definitely be sleeping in 2 hours.</p>



<a name="213836560"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213836560" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213836560">(Oct 19 2020 at 19:56)</a>:</h4>
<p>Let's chat a bit now then, and people can show up and talk later too if they need to</p>



<a name="213836561"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213836561" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213836561">(Oct 19 2020 at 19:56)</a>:</h4>
<p>I do think we agreed on the earlier time</p>



<a name="213836587"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213836587" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213836587">(Oct 19 2020 at 19:57)</a>:</h4>
<p>hi <span class="user-mention" data-user-id="133247">@bjorn3</span> how are you</p>



<a name="213836602"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213836602" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213836602">(Oct 19 2020 at 19:57)</a>:</h4>
<p>also hello to <span class="user-mention" data-user-id="281739">@oliver</span></p>



<a name="213836651"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213836651" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213836651">(Oct 19 2020 at 19:57)</a>:</h4>
<p>I am good and you?</p>



<a name="213836755"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213836755" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213836755">(Oct 19 2020 at 19:58)</a>:</h4>
<p>like 3% grumpy that cranelift got off its butt and started to get serious about being a rust backend now instead of like, 6 months from now</p>



<a name="213837087"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213837087" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213837087">(Oct 19 2020 at 20:00)</a>:</h4>
<p>So, I guess, do we have any concrete info on <em>where</em> the llvm/cranelift split is supposed to go?</p>



<a name="213837161"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213837161" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oliver <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213837161">(Oct 19 2020 at 20:01)</a>:</h4>
<p><span class="user-mention silent" data-user-id="224471">Lokathor</span> <a href="#narrow/stream/257879-project-portable-simd/topic/meeting.202020-10-19/near/213836755">said</a>:</p>
<blockquote>
<p>like 3% grumpy that cranelift got off its butt and started to get serious about being a rust backend now instead of like, 6 months from now</p>
</blockquote>
<p>not prepared?</p>



<a name="213837267"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213837267" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213837267">(Oct 19 2020 at 20:01)</a>:</h4>
<p>I don't think we have any good info, but the best method seems to be handle it when lowering, I guess to MIR</p>



<a name="213837352"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213837352" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213837352">(Oct 19 2020 at 20:02)</a>:</h4>
<p>as opposed to conditional compilation or anything like that</p>



<a name="213837387"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213837387" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213837387">(Oct 19 2020 at 20:02)</a>:</h4>
<p><span class="user-mention" data-user-id="281739">@oliver</span> The first issue is that making the crate work with cranelift is (maybe?) a hard block on the crate developing further</p>



<a name="213837425"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213837425" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213837425">(Oct 19 2020 at 20:02)</a>:</h4>
<p>the second issue is that no one knows <em>specifically</em> how we're to make the crate work with cranelift</p>



<a name="213837454"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213837454" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213837454">(Oct 19 2020 at 20:03)</a>:</h4>
<p>I think we also generally agreed that we can continue with llvm intrinsics for now?</p>



<a name="213837468"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213837468" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213837468">(Oct 19 2020 at 20:03)</a>:</h4>
<p>I would like the split to not be at source level (conditional compilation) and not at llvm intrinsic level.</p>



<a name="213837478"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213837478" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213837478">(Oct 19 2020 at 20:03)</a>:</h4>
<p>Oh I was not aware that we had agreed on that</p>



<a name="213837541"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213837541" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213837541">(Oct 19 2020 at 20:03)</a>:</h4>
<p>well I think we generally agreed that it was possible</p>



<a name="213837560"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213837560" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213837560">(Oct 19 2020 at 20:03)</a>:</h4>
<p>As caleb said, the best proposal I've seen is that vectors would become a part of MIR</p>



<a name="213837630"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213837630" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213837630">(Oct 19 2020 at 20:04)</a>:</h4>
<p>And then each system that lowers MIR to a codegen IR would just naturally handle vectors in however fits that codegen IR</p>



<a name="213837660"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213837660" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213837660">(Oct 19 2020 at 20:04)</a>:</h4>
<p>Cranelift has native support for vector types. At least the 128bit sizes are almost completely implemented in the new style backends for WASM SIMD support.</p>



<a name="213837708"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213837708" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213837708">(Oct 19 2020 at 20:04)</a>:</h4>
<p>oh very good</p>



<a name="213837713"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213837713" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213837713">(Oct 19 2020 at 20:04)</a>:</h4>
<p>more specifically it seems like rustc would query the backend for support, and if it isn't supported, it would implement it in plain rust at the MIR level</p>



<a name="213837801"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213837801" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oliver <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213837801">(Oct 19 2020 at 20:05)</a>:</h4>
<p>it wouldn't work otherwise</p>



<a name="213837829"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213837829" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213837829">(Oct 19 2020 at 20:05)</a>:</h4>
<p><em>however</em> there's a big catch to all of this: it's "just" as complex as doing a whole Major Change Proposal on the compiler, "just"</p>



<a name="213837968"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213837968" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213837968">(Oct 19 2020 at 20:06)</a>:</h4>
<p>This querying could also happen in rustc_codegen_ssa. I don't use that crate for MIR codegen though.</p>



<a name="213837972"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213837972" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213837972">(Oct 19 2020 at 20:06)</a>:</h4>
<p>fortunately it's all internal, unstable interfaces</p>



<a name="213838431"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213838431" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213838431">(Oct 19 2020 at 20:10)</a>:</h4>
<p>So, I guess we talk to T-compiler about fixing MIR?</p>



<a name="213838522"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213838522" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213838522">(Oct 19 2020 at 20:10)</a>:</h4>
<p>I can handle that</p>



<a name="213838547"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213838547" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213838547">(Oct 19 2020 at 20:11)</a>:</h4>
<p>What's next to talk about?</p>



<a name="213838723"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213838723" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oliver <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213838723">(Oct 19 2020 at 20:12)</a>:</h4>
<p>how are you?</p>



<a name="213838801"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213838801" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213838801">(Oct 19 2020 at 20:12)</a>:</h4>
<p>Haven't had the time to focus on programming lately, but keeping busy sorta</p>



<a name="213838862"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213838862" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213838862">(Oct 19 2020 at 20:13)</a>:</h4>
<p>I haven't spent any time on stdsimd in the past week or so...</p>



<a name="213838898"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213838898" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213838898">(Oct 19 2020 at 20:13)</a>:</h4>
<p>Yeah that's why I <em>thought</em> that we were blocked on the cranelift situation. no emails about new commits every hour</p>



<a name="213839042"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213839042" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213839042">(Oct 19 2020 at 20:14)</a>:</h4>
<p>I started the initial mask/comparison stuff but haven't finished it</p>



<a name="213839057"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213839057" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213839057">(Oct 19 2020 at 20:15)</a>:</h4>
<p>but I don't think it's blocked on cranelift</p>



<a name="213839142"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213839142" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213839142">(Oct 19 2020 at 20:16)</a>:</h4>
<p>So, you <em>get</em> masks using comparison ops, you <em>combine</em> masks using bitwise operator overloading, and you <em>use</em> masks via the <code>blend</code> method to combine <code>true_path</code> and <code>false_path</code> values into a <code>blended_value</code>?</p>



<a name="213839242"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213839242" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213839242">(Oct 19 2020 at 20:16)</a>:</h4>
<p>more or less, I think so</p>



<a name="213839296"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213839296" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213839296">(Oct 19 2020 at 20:17)</a>:</h4>
<p>Does WASM support all those operations natively? If so Cranelift should too.</p>



<a name="213839342"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213839342" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213839342">(Oct 19 2020 at 20:17)</a>:</h4>
<p>I believe it does, at least to some extent. I'm not actually sure about blending</p>



<a name="213839402"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213839402" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213839402">(Oct 19 2020 at 20:17)</a>:</h4>
<p>blending can be done via standard bit manipulations even if there's no native blending instruction</p>



<a name="213839598"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213839598" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213839598">(Oct 19 2020 at 20:19)</a>:</h4>
<p>yeah, you can do it in like two instructions</p>



<a name="213839617"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213839617" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213839617">(Oct 19 2020 at 20:19)</a>:</h4>
<p>here we go, <code>r = a ^ ((a ^ b) &amp; mask)</code></p>



<a name="213839753"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213839753" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213839753">(Oct 19 2020 at 20:20)</a>:</h4>
<p>wasm doesn't make any distinction between different vector types (float, integer, etc) so I think it's assumed the compiler will optimize it correctly</p>



<a name="213839757"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213839757" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213839757">(Oct 19 2020 at 20:20)</a>:</h4>
<p><a href="https://docs.rs/cranelift-codegen/0.66.0/cranelift_codegen/ir/trait.InstBuilder.html#method.vselect">https://docs.rs/cranelift-codegen/0.66.0/cranelift_codegen/ir/trait.InstBuilder.html#method.vselect</a></p>
<blockquote>
<p>Select lanes from x or y controlled by the lanes of the boolean vector c.</p>
</blockquote>
<p>Is blending the same as this clif instruction?</p>



<a name="213839800"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213839800" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213839800">(Oct 19 2020 at 20:20)</a>:</h4>
<p>yes</p>



<a name="213839860"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213839860" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213839860">(Oct 19 2020 at 20:21)</a>:</h4>
<p>well the idea of a blend is, given a list of "a or b" (encoded as bools), and an <code>a</code> and <code>b</code>, make <code>c</code> using the correct selection in each lane</p>



<a name="213839878"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213839878" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213839878">(Oct 19 2020 at 20:21)</a>:</h4>
<p>Blend works lanewise not bitwise, right?</p>



<a name="213839885"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213839885" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213839885">(Oct 19 2020 at 20:21)</a>:</h4>
<p>so yeah</p>



<a name="213839890"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213839890" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213839890">(Oct 19 2020 at 20:21)</a>:</h4>
<p>yep</p>



<a name="213839944"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213839944" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213839944">(Oct 19 2020 at 20:21)</a>:</h4>
<p>well there are two types of blends, constant and variable, the variable blend is the more interesting one I think</p>



<a name="213840076"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213840076" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213840076">(Oct 19 2020 at 20:22)</a>:</h4>
<p><code>vselect</code> takes a variable bool vector</p>



<a name="213840993"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213840993" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213840993">(Oct 19 2020 at 20:29)</a>:</h4>
<p>yeah, on intel there's not even direct blend ops until the higher feature levels</p>



<a name="213841018"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213841018" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213841018">(Oct 19 2020 at 20:29)</a>:</h4>
<p>at the minimum feature levels you just have to emulate it using the bit ops</p>



<a name="213847745"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213847745" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213847745">(Oct 19 2020 at 21:19)</a>:</h4>
<p><a href="#narrow/stream/131828-t-compiler/topic/Portable.20SIMD.20Compiler.20Support">https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/Portable.20SIMD.20Compiler.20Support</a></p>



<a name="213848064"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213848064" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213848064">(Oct 19 2020 at 21:22)</a>:</h4>
<p>Well put</p>



<a name="213861654"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213861654" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213861654">(Oct 20 2020 at 00:02)</a>:</h4>
<p>Would y'all like me to update the calendar with the new time of <time datetime="2020-10-19T19:30:00Z">2020-10-20T05:30:00+10:00</time> ?</p>



<a name="213861677"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213861677" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213861677">(Oct 20 2020 at 00:03)</a>:</h4>
<p>Or is it <time datetime="2020-10-19T20:00:00Z">2020-10-20T06:00:00+10:00</time> ?</p>



<a name="213861728"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213861728" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213861728">(Oct 20 2020 at 00:03)</a>:</h4>
<p>I think it was the latter, sorry <span aria-label="smile" class="emoji emoji-1f642" role="img" title="smile">:smile:</span> I was on teething baby duty this morning so missed everything <span aria-label="sweat smile" class="emoji emoji-1f605" role="img" title="sweat smile">:sweat_smile:</span></p>



<a name="213864054"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213864054" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213864054">(Oct 20 2020 at 00:35)</a>:</h4>
<p>no worries!</p>
<p>the second one is probably a better fit.</p>



<a name="213865306"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/213865306" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#213865306">(Oct 20 2020 at 00:57)</a>:</h4>
<p>Ah, sorry for missing things.</p>



<a name="214270857"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/meeting%202020-10-19/near/214270857" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/meeting.202020-10-19.html#214270857">(Oct 23 2020 at 03:48)</a>:</h4>
<p>Done!</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>